Exam WeekTwo review days · Two exam days · Debrief
Seven weeks of Linux — all on your own VMs
The final exam uses the student's own desktop1 VM as the exam environment. The written portion tests conceptual understanding and command recognition. The terminal practical presents a scenario-based sequence of tasks covering users, permissions, packages, scripting, storage, services, and networking — performed live in Ubuntu with no notes or internet access. Students who have maintained their VMs throughout the term will be familiar with their environment.
Week at a glance
Monday
Exam Review
Open Q&A, command reference session, outstanding labs, OverTheWire wrap-up
Tuesday
Practical Walk-through
Instructor-led review of common tasks and scenarios likely to appear on the exam
Wednesday
Written Exam
90 min · Concepts, theory, scenario analysis, command identification · 30% of final
Thursday
Terminal Practical
90 min · Scenario tasks on student's own VM · No notes, no internet · 70% of final
Friday
Results & Debrief
Review common errors, preview next course, collect VMs
WednesdayWritten Exam · 90 min · 30% of final mark
Written exam — concepts, theory, and scenario analysis
- Section A — Short answer (multiple topics): OS concepts, filesystem hierarchy, permission string interpretation, octal conversion, fstab fields, cron syntax, systemd commands, package manager comparison.
- Section B — Command identification: Given a task description, write the command(s) to accomplish it. Example: "Set the permissions on /var/data so the owner has full rights, the group has read and execute, and others have no permissions." Answer:
chmod 750 /var/data.
- Section C — Scenario analysis: A described situation — a misconfigured service, a file sharing problem, a permission issue — students diagnose and propose a fix in writing.
Written exam topic coverage
| Topic Area | Weight | Weeks Covered |
| OS concepts, installation, filesystem hierarchy | 10% | Week 1 |
| Users, permissions, groups, special bits | 15% | Week 2 |
| Package management (apt, dpkg, snap) | 10% | Week 3 |
| CLI tools (redirects, pipes, tar, cron) | 15% | Week 4 |
| Bash scripting, Git, storage/fstab, processes, systemd | 35% | Week 5 |
| Networking, SSH, NFS, Samba, ufw | 15% | Week 6 |
ThursdayTerminal Practical · 90 min · 70% of final mark
Terminal practical — scenario-based tasks on the student's own VM
- Format: Students receive a printed scenario document describing a small organisation's Linux environment. They must complete a sequence of tasks on their desktop1 VM. Each task has a clear verifiable outcome — a file with specific permissions, a service in a specific state, a working network share.
- No notes, no internet. Man pages are available (
man command). The --help flag is available. Built-in shell help is available. External resources are not.
- Marking: Instructor verifies each task by running specific test commands — not by reading the student's command history. The outcome must be correct, not the method (unless the task specifies a particular tool).
Practical exam task areas
| Task Area | Weight | Example task |
| User and group management | 15% | Create users, groups, and assign permissions per a specification |
| File permissions and ownership | 15% | Set rwx correctly for owner/group/other on a set of files |
| Package management | 10% | Install a named package, verify it, query its installed files |
| Bash script | 15% | Write a script that performs a described task (loop, condition, output) |
| Storage and mounts | 15% | Format and mount a disk, add correct fstab entry with UUID |
| systemd service management | 15% | Start, enable, and verify a service; read its logs in journalctl |
| SSH and networking | 15% | Configure SSH, test from host; verify ufw allows correct ports |
VM preparation note: Ensure all student VMs have a clean state at the start of the practical — services in known states, no leftover test files from labs that might interfere. A snapshot taken at the end of Week 6 is ideal.
Mon–TueReview days · Student-led
Making the most of the two review days
- Monday — open lab: Students work on any outstanding labs, attempt OverTheWire levels, or practice specific commands they feel uncertain about. Instructor circulates and answers questions. A good prompt: "If you can't do it from memory, practice it today."
- Tuesday — guided review: Instructor walks through a condensed practical scenario on the projector, narrating every command. Focus on the tasks that historically trip students: fstab UUID entries, disabling SSH password auth without locking yourself out, writing a correct cron job, and reading systemd unit files.
Suggested Monday self-test
- Can you create a user, assign them to a group, and set permissions on a file so only that group can read it — from memory?
- Can you write a cron job that runs a script at 3:15am every Monday?
- Can you add a disk, partition it, format it ext4, and add it to fstab with its UUID?
- Can you start, stop, enable, and read the logs of the SSH service using systemctl and journalctl?
- Can you write a Bash script that accepts input, checks if a file exists, and prints a result?